This invention relates to a method of management of multiple virtual storages for a large computer system, and particularly to a multiple virtual storage management method capable of easily referencing from one space to different virtual spaces (other than the one space).
In an information processing system based on a multiple virtual storage, a virtual storage space (virtual space) is provided by using an address translation mechanism which translates a virtual address into a real address. The address translation mechanism creates virtual space by using a set of translation tables. By having a plurality of translation tables and using these tables selectively, multiple virtual spaces are realized.
An example of the multiple virtual storage is the program product VOS3 ES1 which is an operating system running on the HITAC M-series processor. (Refer to "HITAC computer program product VOS3/ES General Descriptions", pp. 299-304 (manual number: 8091-3-001-20(E)), published by Hitachi Ltd.) In this example, a segment table and a plurality of page tables are prepared for a virtual space, and a virtual address is translated to a real address by using two-stage conversion tables with the intention of reducing the total amount of translation tables and simplifying the operation of a table. A plurality of virtual spaces are processed sequentially by switching the segment tables. By setting the same value for the entries of segment tables or page tables of different spaces, it is possible to establish common areas having the same address in different spaces. The above-mentioned translation is a known technique in the field of large computer systems, and its details are described, for example, in publication "Practical Operating Systems", Chapter 3: "Virtual Memory Method", pp. 85-124, written by Yasuhumi Yoshizawa (published by Shokodo Ltd. ISBN 4-7856-3503-7).
In these multiple virtual storage methods, it is infeasible to make reference or revise data in areas other than the common area of other virtual space, so far as the main storage is referenced by way of the address translation, and therefore the reliability and security of data are high. On the other hand, however, the high independence of virtual spaces imposes the difficulty of communication among the virtual spaces. The reason is that segment tables must be switched in making reference to other space, and once the segment table is switched, the contents of the original virtual space cannot be referenced. On this account, it is a general expedience to place data, which are common among virtual spaces, in the common areas, at the risk of inferior data security due to its accessibility from all virtual spaces. In order to overcome this problem, there are disclosed several techniques which reduce the overhead of inter-space communication, while retaining the advantage of the multiple virtual storage method.
A publication of JP-A-57-6481 enables the transfer of data and control among spaces by using two sets of address translation tables simultaneously.
JP-A-58-118081 establishes a shared virtual space in the system and provides the same contents of segment table entry for the area of the shared virtual space and an arbitrary area of other arbitrary virtual space, so that the areas are shared.
JP-A-60-68443 discloses a virtual machine system having an address translation for which an area common to each virtual machine can be established.
JP-A-63-231550 discloses an address translation having an enhanced translation speed by grouping a [plurality of virtual spaces and using the multiple virtual storages and address look a side buffers (TLB) for each group effectively.
The technique of the above-mentioned JP-A-57-6481 is intended to make simultaneous reference to a plurality of spaces, and it has a problem of intricate environmental setting for the reference and the need for the management of pertinent information entirely on the part of the application program. Namely, although the technique of JP-A-57-6481 enables the simultaneous access to two spaces, it entirely relies on the user for the management of information which indicates the space and address of each specific data.
The technique of the JP-A-63-118081 necessitates the setup of a special shared virtual space, and therefore it lacks in the general-purpose property In addition, because of the accessibility of areas in the shared virtual space from any space, the ability of data security is the same as of the conventional system common area.
The technique of JP-A-60-68443 is intended for data sharing among virtual computer systems, and it cannot be applied directly to the operating system based on the multiple virtual storage method. Although the JP-A-63-23155 does not involve this problem, it merely describes for the multiple virtual storage and grouping of a plurality of spaces into families, and particularly it describes the details of the address translator for such multiple virtual storage. This patent publication not only fails to mention the formation of space families and the formation of common area in each space family, but does not describe about the structure of segment tables and page tables and the procedure of their organization which are the premises of using the address translator. Therefore it is not clear how to share data. Moreover, in a practical program execution, a program placed in a specific space varies with time, and therefore the grouping of spaces into a same family also varies. The conventional technique does not disclose the matter.
Japanese Patent Application No. 62-141466 filed on Jun. 8, 1987 by the applicant of the present invention, entitled "Virtual Space Group Management Method" offers the function of simultaneous reference to a plurality of virtual spaces by compressing a plurality of segment tables into a single table.
The patent application 62-141466 (or corresponding Japanese Patent Unexamined Publication JP-A-63-305443) does not overcome the problem described above in connection with the patent publication 57-6481, and the management of data address for data reference, also in the case of connected spaces, relies on the user. The patent application 62-141466 describes nothing about the addressing for the expanded virtual space which is created by connecting a plurality of spaces.